IF OBJECT_ID(N'dbo.tblPda', N'U') IS NULL
BEGIN

    CREATE TABLE [dbo].[tblPda]
    (
        [AutoID] [NUMERIC](18, 0) NOT NULL,
        [K_Code] [VARCHAR](20) NOT NULL,
        [Barcode] [VARCHAR](30) NULL,
        [A_Code] [VARCHAR](5) NULL,
        [K_Qty] [FLOAT] NULL,
        [Name1] [NVARCHAR](MAX) NULL,
        [Price_Kharid] [MONEY] NULL,
        [Price_Forosh] [MONEY] NULL,
        [Price_Omdeh] [MONEY] NULL,
        [Stock] [MONEY] NULL,
        [Status] [VARCHAR](3) NULL,
        [id] [INT] IDENTITY(1, 1) NOT NULL PRIMARY KEY,
        [Sender] [VARCHAR](5) NULL,
        [Qty2] [FLOAT] NULL,
        [Row] [SMALLINT] NULL,
    ) ON [PRIMARY];

    ALTER TABLE [dbo].[tblPda] WITH CHECK
    ADD CONSTRAINT [FK_tblPda_tblHpda]
        FOREIGN KEY ([AutoID])
        REFERENCES [dbo].[tblHpda] ([AutoID]) ON DELETE CASCADE;
    ALTER TABLE [dbo].[tblPda] CHECK CONSTRAINT [FK_tblPda_tblHpda];
END;

---------------------------------------------------
ELSE
BEGIN

    IF NOT EXISTS
    (
        SELECT 1
        FROM sys.columns
        WHERE name = N'AutoId'
              AND object_id = OBJECT_ID(N'dbo.tblpda')
    )
    BEGIN
        ALTER TABLE dbo.tblPda ADD [AutoId] NUMERIC(18, 0);
    END;
    --------------
    IF NOT EXISTS
    (
        SELECT 1
        FROM sys.columns
        WHERE name = N'K_Code'
              AND object_id = OBJECT_ID(N'dbo.tblpda')
    )
    BEGIN
        ALTER TABLE dbo.tblPda ADD [K_Code] VARCHAR(20);
    END;
    ------------------------

    IF NOT EXISTS
    (
        SELECT 1
        FROM sys.columns
        WHERE name = N'Barcode'
              AND object_id = OBJECT_ID(N'dbo.tblpda')
    )
    BEGIN
        ALTER TABLE dbo.tblPda ADD [Barcode] VARCHAR(30);
    END;

    ------------------------
    IF NOT EXISTS
    (
        SELECT 1
        FROM sys.columns
        WHERE name = N'A_Code'
              AND object_id = OBJECT_ID(N'dbo.tblpda')
    )
    BEGIN
        ALTER TABLE dbo.tblPda ADD [A_Code] VARCHAR(5);
    END;


    -----------------
    IF NOT EXISTS
    (
        SELECT 1
        FROM sys.columns
        WHERE name = N'K_Qty'
              AND object_id = OBJECT_ID(N'dbo.tblpda')
    )
    BEGIN
        ALTER TABLE dbo.tblPda ADD [K_Qty] FLOAT;
    END;

    --------------------
    IF NOT EXISTS
    (
        SELECT 1
        FROM sys.columns
        WHERE name = N'Name1'
              AND object_id = OBJECT_ID(N'dbo.tblpda')
    )
    BEGIN
        ALTER TABLE dbo.tblPda ADD [Name1] NVARCHAR(MAX);
    END;
    ---------------

    IF NOT EXISTS
    (
        SELECT 1
        FROM sys.columns
        WHERE name = N'Price_Kharid'
              AND object_id = OBJECT_ID(N'dbo.tblpda')
    )
    BEGIN
        ALTER TABLE dbo.tblPda ADD [Price_Kharid] MONEY;
    END;
    -----------------------
    IF NOT EXISTS
    (
        SELECT 1
        FROM sys.columns
        WHERE name = N'Price_Forosh'
              AND object_id = OBJECT_ID(N'dbo.tblpda')
    )
    BEGIN
        ALTER TABLE dbo.tblPda ADD [Price_Forosh] MONEY;
    END;
    --------------
    IF NOT EXISTS
    (
        SELECT 1
        FROM sys.columns
        WHERE name = N'Price_Omdeh'
              AND object_id = OBJECT_ID(N'dbo.tblpda')
    )
    BEGIN
        ALTER TABLE dbo.tblPda ADD [Price_Omdeh] MONEY;
    END;
    --------------
    IF NOT EXISTS
    (
        SELECT 1
        FROM sys.columns
        WHERE name = N'Stock'
              AND object_id = OBJECT_ID(N'dbo.tblpda')
    )
    BEGIN
        ALTER TABLE dbo.tblPda ADD [Stock] MONEY;
    END;
    --------------
    IF NOT EXISTS
    (
        SELECT 1
        FROM sys.columns
        WHERE name = N'Status'
              AND object_id = OBJECT_ID(N'dbo.tblpda')
    )
    BEGIN
        ALTER TABLE dbo.tblPda ADD [Status] VARCHAR(3);
    END;
    ELSE
    BEGIN
        DECLARE @ConstraintName NVARCHAR(MAX);
        SELECT @ConstraintName = con.[name]
        FROM sys.default_constraints con
            LEFT OUTER JOIN sys.objects t
                ON con.parent_object_id = t.object_id
            LEFT OUTER JOIN sys.all_columns col
                ON con.parent_column_id = col.column_id
                   AND con.parent_object_id = col.object_id
        WHERE t.[name] = 'tblPDA'
              AND col.[name] = 'Status'
        ORDER BY con.name;
        DECLARE @SQLString NVARCHAR(MAX) = N'ALTER TABLE dbo.tblPda DROP CONSTRAINT ' + @ConstraintName;
        EXEC sp_executesql @SQLString;
        ALTER TABLE dbo.tblPda ALTER COLUMN [Status] VARCHAR(3);
    END;
    --------------
    IF NOT EXISTS
    (
        SELECT 1
        FROM sys.columns
        WHERE name = N'id'
              AND object_id = OBJECT_ID(N'dbo.tblpda')
    )
    BEGIN
        ALTER TABLE dbo.tblPda
        ADD [id] [INT] IDENTITY(1, 1) NOT NULL PRIMARY KEY;
    END;
    --------------
    IF NOT EXISTS
    (
        SELECT 1
        FROM sys.columns
        WHERE name = N'Sender'
              AND object_id = OBJECT_ID(N'dbo.tblpda')
    )
    BEGIN
        ALTER TABLE dbo.tblPda ADD [Sender] VARCHAR(5);
    END;
    --------------
    IF NOT EXISTS
    (
        SELECT 1
        FROM sys.columns
        WHERE name = N'Qty2'
              AND object_id = OBJECT_ID(N'dbo.tblpda')
    )
    BEGIN
        ALTER TABLE dbo.tblPda ADD [Qty2] FLOAT;
    END;
    --------------
    IF NOT EXISTS
    (
        SELECT 1
        FROM sys.columns
        WHERE name = N'Row'
              AND object_id = OBJECT_ID(N'dbo.tblpda')
    )
    BEGIN
        ALTER TABLE dbo.tblPda ADD [Row] SMALLINT;
    END;

END;